3 research outputs found

    Carbon sequestration potential and physicochemical properties differ between wildfire charcoals and slow-pyrolysis biochars

    Get PDF
    Pyrogenic carbon (PyC), produced naturally (wildfire charcoal) and anthropogenically (biochar), is extensively studied due to its importance in several disciplines, including global climate dynamics, agronomy and paleosciences. Charcoal and biochar are commonly used as analogues for each other to infer respective carbon sequestration potentials, production conditions, and environmental roles and fates. The direct comparability of corresponding natural and anthropogenic PyC, however, has never been tested. Here we compared key physicochemical properties (elemental composition, δ13C and PAHs signatures, chemical recalcitrance, density and porosity) and carbon sequestration potentials of PyC materials formed from two identical feedstocks (pine forest floor and wood) under wildfire charring- and slow-pyrolysis conditions. Wildfire charcoals were formed under higher maximum temperatures and oxygen availabilities, but much shorter heating durations than slow-pyrolysis biochars, resulting in differing physicochemical properties. These differences are particularly relevant regarding their respective roles as carbon sinks, as even the wildfire charcoals formed at the highest temperatures had lower carbon sequestration potentials than most slow-pyrolysis biochars. Our results challenge the common notion that natural charcoal and biochar are well suited as proxies for each other, and suggest that biochar’s environmental residence time may be underestimated when based on natural charcoal as a proxy, and vice versa

    Verifying and Synthesizing Software with Recursive Functions

    No full text
    Our goal is to help people construct software that does what they wish. We develop tools and algorithms that span static and dynamic verification, constraint solving, and program synthesis. I will outline the current state our verification and synthesis system, Leon, which translates software into a functional language and uses SMT solvers to reason about paths in programs and specifications. Certain completeness results partly explain the effectiveness of verification and synthesis procedures implemented within Leon, in particular results on decidability of sufficiently surjective abstraction functions, and the framework of complete functional synthesis

    Semantic code search via equational reasoning

    No full text
    © 2020 Owner/Author. We present a new approach to semantic code search based on equational reasoning, and the Yogo tool implementing this approach. Our approach works by considering not only the dataflow graph of a function, but also the dataflow graphs of all equivalent functions reachable via a set of rewrite rules. In doing so, it can recognize an operation even if it uses alternate APIs, is in a different but mathematically-equivalent form, is split apart with temporary variables, or is interleaved with other code. Furthermore, it can recognize when code is an instance of some higher-level concept such as iterating through a file. Because of this, from a single query, Yogo can find equivalent code in multiple languages. Our evaluation further shows the utility of Yogo beyond code search: encoding a buggy pattern as a Yogo query, we found a bug in Oracle's Graal compiler which had been missed by a hand-written static analyzer designed for that exact kind of bug. Yogo is built on the Cubix multi-language infrastructure, and currently supports Java and Python
    corecore